package com.cy.pj.sys.web.controller;

import com.cy.pj.common.util.PageUtil;
import com.cy.pj.sys.dao.SysLogDao;
import com.cy.pj.sys.pojo.SysLog;
import com.cy.pj.sys.service.SysLogService;
import com.cy.pj.sys.web.pojo.JsonResult;
import com.github.pagehelper.ISelect;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/log/")
public class SysLogController {
    @Autowired
    private SysLogService sysLogService;

    @GetMapping("{id}")
    public JsonResult doFindById(@PathVariable Long id) {

        return new JsonResult(sysLogService.findById(id));
    }

    @DeleteMapping("{ids}")
    public JsonResult doDeleteById (@PathVariable Long...ids) {
        sysLogService.deleteById(ids);
        return new JsonResult("delete ok");
    }

    @GetMapping("")
    public JsonResult doFindLogs(SysLog syslog){
        return new JsonResult(PageUtil.startPage().doSelectPageInfo(()->
                sysLogService.findLogs(syslog)));
        //lambda表达式--下面的new的那一块匿名内部类直接隐藏了
//       return new JsonResult( PageUtil.startPage().doSelectPageInfo(new ISelect() {
//            @Override
//            public void doSelect() {
//                sysLogService.findLogs(syslog);
//            }
//        }));
    }
}
